/*
 * StdVariableModule.h
 *
 *  Created on: 01.08.2009
 *      Author: h3llfire
 */

#ifndef STDVARIABLEMODULE_H_
#define STDVARIABLEMODULE_H_

#include <vector>
#include "../../core/interfaces/iModule.h"

namespace Impp {

#define STD_VARIABLE_MODULE_NAME 			wxT("StdVariableModule")


class StdVariableModule : public iModule {

	DECLARE_DYNAMIC_CLASS(StdVariableModule)

private:
	class Variable{
	public:
		wxString name;
		wxString value;

		Variable(const wxString& name, const wxString& value):
			name(name),
			value(value){};
	};

	std::vector<Variable> vars;

public:
	StdVariableModule();
	virtual ~StdVariableModule();

	void moduleInit();
	void moduleDestroy(){};

	wxString parseString(const wxString& varString);
	void setVar(const wxString& name, const wxString& value);
	wxString getVarValue(const wxString& name);


};

}

#endif /* STDVARIABLEMODULE_H_ */
